﻿Imports Microsoft.VisualBasic
Imports System.Data
Imports System.ComponentModel
Public Class Egresados
    Inherits BDDatos
    Sub New()
        Me.Vista = "VEgresados"
    End Sub
    Public ESTADO_CIVIL As String
    Public GRUPO_SANGUINEO As String
    Public RELIGION As String
    Public SEXO As String
    Public DPTO_NTO As String
    Public MCPIO_NTO As String
    Public FEC_NTO As String
    Public DIRECCION As String
    Public TELEFONO As String
    Public CELULAR As String
    Public FAX As String
    Public DPTO_RESIDENCIA As String
    Public MCPIO_RESIDENCIA As String
    Public EMAIL As String
    Public TP As String
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetEgresado() As DataTable
        Me.Conectar()
        Me.querystring = "Select * from VEgresados where cedula=:cedula"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":cedula", Me.usuario)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetbyPk(ByVal Cedula As String) As DataTable
        Me.Conectar()
        Me.querystring = "Select * from VEgresados where cedula=:cedula"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":cedula", Cedula)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetCumplimentados() As DataTable
        Me.Conectar()
        Me.querystring = "Select * from Vcumpleaños"
        CrearComando(querystring)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    Public Function Update() As String
        Me.Conectar()
        Me.ComenzarTransaccion()
        Try
            Me.querystring = "Update Personas set Direccion=:Direccion, Telefono=:Telefono, Celular=:Celular,Fax=:Fax,Email=:Email," & _
            "Estado_Civil=:Estado_Civil,Grupo_Sanguineo=:Grupo_Sanguineo,Sexo=:Sexo,Religion=:Religion,Dpto_Nto=:Dpto_Nto,Mcpio_Nto=:Mcpio_Nto," & _
            "Dpto_Residencia=:Dpto_Residencia,Mun_Residencia=:Mcpio_Residencia,Fecha_Nacimiento=:Fecha_Nacimiento, TP=:TP Where Cedula=:PK"
            Me.CrearComando(querystring)
            Me.AsignarParametroCadena(":Direccion", Me.DIRECCION)
            Me.AsignarParametroCadena(":Telefono", Me.TELEFONO)
            Me.AsignarParametroCadena(":Celular", Me.CELULAR)
            Me.AsignarParametroCadena(":Fax", Me.FAX)
            Me.AsignarParametroCadena(":Email", Me.EMAIL)
            Me.AsignarParametroCadena(":Estado_Civil", Me.ESTADO_CIVIL)
            Me.AsignarParametroCadena(":Grupo_Sanguineo", Me.GRUPO_SANGUINEO)
            Me.AsignarParametroCadena(":Sexo", Me.SEXO)
            Me.AsignarParametroCadena(":Religion", Me.RELIGION)
            Me.AsignarParametroCadena(":Dpto_Nto", Me.DPTO_NTO)
            Me.AsignarParametroCadena(":Mcpio_Nto", Me.MCPIO_NTO)
            Me.AsignarParametroCadena(":Dpto_Residencia", Me.DPTO_RESIDENCIA)
            Me.AsignarParametroCadena(":Mcpio_Residencia", Me.MCPIO_RESIDENCIA)
            Me.AsignarParametroCadena(":Fecha_Nacimiento", Me.FEC_NTO)
            Me.AsignarParametroCadena(":TP", Me.TP)
            Me.AsignarParametroCadena(":PK", Me.usuario)
            Me.num_reg = EjecutarComando()
            Me.Msg = "Se realizo la Operacion Exitosamente - " + num_reg.ToString + " Filas Afectadas"
            Me.lErrorG = False
            Me.ConfirmarTransaccion()
        Catch ex As Exception
            CancelarTransaccion()
            Me.lErrorG = True
            Me.Msg = "Err: " + ex.Message
        Finally
            Me.Desconectar()
        End Try
        Return Msg
    End Function
    Public Function Egresar(ByVal Cedula As String, ByVal Cod_Facultad As String, ByVal Cod_Programa As String, ByVal Tipo_Estudio As String, ByVal Titulo_Obtenido As String, ByVal Fecha_Ingreso As String, ByVal Fecha_Grado As String, ByVal Estado As String) As String
        Me.Conectar()
        Me.ComenzarTransaccion()
        Try
            Me.querystring = "Insert into EGRESADOS(Cedula,Cod_Facultad,Cod_Programa, Tipo_Estudio, Titulo_Obtenido, Fecha_Ingreso, Fecha_Grado,Estado)" & _
            "Values(:Cedula,:Cod_Facultad,:Cod_Programa, :Tipo_Estudio, :Titulo_Obtenido, :Fecha_Ingreso, :Fecha_Grado,:Estado)"
            Me.CrearComando(querystring)
            Me.AsignarParametroCadena(":Cod_Facultad", UCase(Cod_Facultad))
            Me.AsignarParametroCadena(":Cod_Programa", UCase(Cod_Programa))
            Me.AsignarParametroCadena(":Tipo_Estudio", Tipo_Estudio)
            Me.AsignarParametroCadena(":Titulo_Obtenido", UCase(Titulo_Obtenido))
            Me.AsignarParametroCadena(":Fecha_Ingreso", Fecha_Ingreso)
            If Estado = "AC" Then
                Me.AsignarParametroNulo(":Fecha_Grado")
            Else
                Me.AsignarParametroCadena(":Fecha_Grado", Fecha_Grado)
            End If
            Me.AsignarParametroCadena(":Cedula", Cedula)
            Me.AsignarParametroCadena(":Estado", Estado)
            Me.num_reg = EjecutarComando()
            Me.Msg = "Se realizo la Operacion Exitosamente - [" + num_reg.ToString + "] Filas Afectadas"
            Me.lErrorG = False
            Me.Msg = Msg & ". Se creo el Usuario " & Cedula & "Debe asignarle el perfil de 'EGRESADO'"
            Me.ConfirmarTransaccion()
        Catch ex As Exception
            CancelarTransaccion()
            Me.lErrorG = True
            Me.Msg = "Err: " + ex.Message
        Finally
            Me.Desconectar()
        End Try
        Return Msg
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetEgresadoxAño(ByVal filtrar As Boolean, ByVal año As String) As DataTable
        Me.Conectar()
        If filtrar = False Then
            Me.querystring = "select count(*) Egresados, nom_Programa Programa, cod_programa, to_char(fecha_ingreso,'yyyy') Fecha  from vegresados group by nom_programa, cod_programa, to_char(fecha_ingreso,'yyyy') order by TO_CHAR(fecha_ingreso, 'yyyy')"
            CrearComando(querystring)
        Else
            Me.querystring = "select count(*) Egresados, nom_Programa Programa, cod_programa, to_char(fecha_ingreso,'yyyy') Fecha  from vegresados WHERE to_char(fecha_ingreso,'yyyy')=:Fecha group by nom_programa, cod_programa, to_char(fecha_ingreso,'yyyy') order by TO_CHAR(fecha_ingreso, 'yyyy')"
            CrearComando(querystring)
            Me.AsignarParametroCadena(":Fecha", año)
        End If
        'Throw New Exception(vComando.CommandText)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetListaEgresados(ByVal Año As String, ByVal Programa As String) As DataTable
        Me.Conectar()
        Me.querystring = "select * from vegresados where to_char(fecha_ingreso,'yyyy')=:Fecha and cod_programa=:Programa"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":Fecha", año)
        Me.AsignarParametroCadena(":Programa", Programa)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetEgresadoGral() As DataTable
        Me.Conectar()
        Me.querystring = "select *  from vegresados order by TO_CHAR(fecha_grado, 'yyyy')"
        CrearComando(querystring)
        'Throw New Exception(vComando.CommandText)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
End Class
